var Func = {};
//识图找色，识别能量球的函数
Func.HuntEnergy = function () {
    //循环一直查找能量球
    while (true) {
        images.captureScreen("./res/z蚂蚁森林/好友.jpg")//截图并保存
        var img = images.read("./res/z蚂蚁森林/能量球.jpg");
        var img2 = images.read("./res/z蚂蚁森林/好友.jpg");
        var a = images.pixel(img, 450, 600);//取准备好的截图上的能量球上数字颜色
        var point = images.findColor(img2, a);//区域找色，相似度默认为90%，不对treshould参数进行更改
        //目标颜色点存在即点击，不存在这退出循环
        if (point) {
            click(point.x, point.y);
        }
        else {
            img.recycle()
            img2.recycle()
            break;
        };
    };
};
//遍历能量球，复查防止漏点以及点击帮助球，由于快要消失的能量球会闪烁，无法基于识图查找
Func.HelpFriends = function (p) {
    if (p == 0) {
        //找其余能量球，主要为了帮好友收取能量    
        collection = className("android.widget.Button").find();
        for (i = 0; i < 3; i++) {
            collection.each(function (obj) {
                if (obj.text().length == 1) {
                    press(obj.bounds().centerX(), obj.bounds().centerY(), 40);
                }
            });
        };
    }
    else {
        //找其余能量球，主要为了帮好友收取能量    
        collection = className("android.widget.Button").find();
        collection.each(function (obj) {
            if (obj.text().length == 1) {
                for (i = 0; i < 3; i++) {
                    press(obj.bounds().centerX(), obj.bounds().centerY(), 40);
                }
            }
        });
    };
};
//通用功能函数----------------------------------------------
//退出函数
Func.ExitCurrentApp = function (appname) {
    threads.start(function () {
        CurrentApp = currentPackage()
        toast("well done");
        openAppSetting(CurrentApp);
        id("right_button").text("强行停止").findOne().click();
        id("button1").text("强行停止").findOne().click();
        lauch(appname);
    });
}
//清除缓存
//运行前期准备
Func.Prepare = function () {
    //用多线程自点击立即开始按钮启动截图权限
    threads.start(function () {
        auto.waitFor();//判断是否启动无障碍服务
        text("立即开始").findOne().click();
    });

}
//蚂蚁森林-----------------------------------------------------------------
Func.Combination = function (appname, action0, action1, action2, action3) {
    //Func.Prepare();
    //images.requestScreenCapture();//向系统省去截图权限
    app.launchApp(appname)
    text("蚂蚁森林").findOne(4000)
    sleep(2000)
    count = 0;//用于防止翻页卡死
    if (text("蚂蚁森林").exists()) {
        click("蚂蚁森林");
    }
    else if (text("全部").exists()) {
        click("全部");
        text("蚂蚁森林").findOne(2000).parent().click();
    }
    //自动合种浇水
    if (action0 == 1) {
        text("合种").findOne();
        click("合种");
        sleep(3000);
        press(device.width * 7 / 8, device.height * 14 / 15, 300);
        sleep(2000);
        press(device.width * 3 / 4, device.height * 5 / 8, 300);
        sleep(2000);
        back()
    }
    //自动收取自己
    if (action1 == 1) {
        sleep(2000)
        Func.HuntEnergy();
        toastLog("自己收取完成")
    }
    sleep(2000)
    // gesture(1000, [500, 2000], [500, 500]);
    scrollDown()
    sleep(2000);
    toastLog("找到好友按钮")
    click("查看更多好友");
    sleep(2000);
    while (true) {
        //利用找图来识别可以收取能量和帮助的好友
        images.captureScreen("/sdcard/z蚂蚁森林/大图.jpg");
        var img = images.read("/sdcard/z蚂蚁森林/大图.jpg");
        var temp1 = images.read("/sdcard/z蚂蚁森林/有能量.jpg");
        var temp2 = images.read("/sdcard/z蚂蚁森林/帮助.jpg");
        var p = findImage(img, temp1);
        var q = findImage(img, temp2);
        if (p && action2 == 1) {
            count = 0;
            toast("找到能量啦( ˃̶̤́ ꒳ ˂̶̤̀ )");
            click(p.x, p.y + 100 / 2340 * device.height);
            sleep(2000);
            Func.HuntEnergy();
            toast("复查能量球，帮助好友收取能量");
            Func.HelpFriends(0);
            sleep(500);
            back();
            sleep(2000);
        }
        else if (q && action3 == 1) {
            count = 0;
            toast("找到帮助啦- ̗̀(๑ᵔ⌔ᵔ๑)");
            click(q.x, q.y + 100 / 2340 * device.height);
            sleep(2000);
            Func.HelpFriends(1);
            sleep(50)
            toast("复查能量球，防止漏掉能量");
            Func.HuntEnergy();
            sleep(500);
            back();
            sleep(2000);
        }
        else {
            var temp3 = images.read("/sdcard/z蚂蚁森林/邀请.jpg");
            var r = findImage(img, temp3);
            var temp4 = images.read("/sdcard/z蚂蚁森林/已邀请.jpg");
            var s = findImage(img, temp4);
            //收完了，开始撤
            if (r || s) {
                toast("well done");
                openAppSetting(getPackageName("支付宝"));
                text("强行停止").click();
                sleep(1000)
                text("强行停止").click();
                sleep(1000)
                back();
                sleep(1000)
                toastLog("完成运行");
                sleep(1000)
                className("android.widget.TextView").text("暂停").findOne()
                ui.startimg.setSource("@drawable/ic_play_circle_filled_white_black_48dp");
                ui.starttext.setText("启动");
                break;
            }
            else {
                count++;
                toast("没找到，翻页₍₍ (̨̡ ‾᷄ᗣ‾᷅ )̧̢ ₎₎");
                print(count)
                if (count > 4) {
                    count = 0;
                    gesture(500, [500, 550], [500, 500]);
                    toastLog("连续翻页未点击可能滑动卡死启用手势滑动解除")
                }
                scrollDown();
                sleep(2000);
            }
        }
    };
}


module.exports = Func;